package cn.actoncode.boot.module.ai.service.user;

import cn.actoncode.boot.module.ai.controller.app.auth.vo.login.RegisterReqVO;
import cn.actoncode.boot.module.ai.controller.app.auth.vo.login.RegisterRespVO;
import cn.actoncode.boot.module.ai.controller.app.auth.vo.login.WebLoginReqVO;
import cn.actoncode.boot.module.ai.controller.app.auth.vo.login.WebLoginRespVO;
import cn.actoncode.boot.module.ai.dal.dataobject.user.MemberUserDO;

/**
 * 成员用户 Service 接口
 *
 * @author bin
 */
public interface MemberUserService {

    /**
     * 注册
     *
     * @return 注册信息
     **/
    RegisterRespVO register(RegisterReqVO reqVO);

    /**
     * 登录
     *
     * @return 登录信息
     **/
    WebLoginRespVO login(WebLoginReqVO reqVO);

    /**
     * 获取用户
     *
     * @param userId  用户id
     * @return 用户
     **/
    MemberUserDO getUserByUserId(Long userId);

    /**
     * 是否匹配密码
     *
     * @param rawPassword
     * @param encodedPassword
     * @return
     */
    boolean isPasswordMatch(String rawPassword, String encodedPassword);

}
